package com.ze.commontool;

import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;

public class DisplayUtil {
	
	public static float getDefaultScale(Context mContext)
	{
		DisplayMetrics dm = new DisplayMetrics();
       ((Activity) mContext).getWindowManager().getDefaultDisplay().getMetrics(dm);
       return dm.density;
	}
	/**
	  * 将px值转换为dip或dp值，保证尺寸大小不变
	  * 
	  * @param pxValue
	  * @param scale（DisplayMetrics类中属性density）
	  * @return
	  */
	 public static int px2dip(float pxValue, float scale) {
	  return (int) (pxValue / scale + 0.5f);
	 }

	 /**
	  * 将dip或dp值转换为px值，保证尺寸大小不变
	  * 
	  * @param dipValue
	  * @param scale（DisplayMetrics类中属性density）
	  * @return
	  */
	 public static int dip2px(float dipValue, float scale) {
	  return (int) (dipValue * scale + 0.5f);
	 }

	 /**
	  * 将px值转换为sp值，保证文字大小不变
	  * 
	  * @param pxValue
	  * @param fontScale（DisplayMetrics类中属性scaledDensity）
	  * @return
	  */
	 public static int px2sp(float pxValue, float fontScale) {
	  return (int) (pxValue / fontScale + 0.5f);
	 }

	 /**
	  * 将sp值转换为px值，保证文字大小不变
	  * 
	  * @param spValue
	  * @param fontScale（DisplayMetrics类中属性scaledDensity）
	  * @return
	  */
	 public static int sp2px(float spValue, float fontScale) {
	  return (int) (spValue * fontScale + 0.5f);
	 }
}
